package com.bjsxt.controller;

import com.bjsxt.enums.UserInfoEnum;
import com.bjsxt.exception.BizException;
import com.bjsxt.pojo.UserInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

/**
 * @author lxiaol
 * @date 2021年05月20日 17:27
 */
@RestController
@RequestMapping(value = "/api")
public class UserRestController {

    @PostMapping("/user")
    public boolean insert(@RequestBody UserInfo user) {
        System.out.println("开始新增...");
        //如果姓名为空就手动抛出一个自定义的异常！
        if (StringUtils.isBlank(user.getName())) {
            throw new BizException(UserInfoEnum.USER_NAME_BLANK);
        }
        return true;
    }

    @PutMapping("/user")
    public boolean update(@RequestBody UserInfo user) {
        System.out.println("开始更新...");
        //这里故意造成一个空指针的异常，并且不进行处理
        String str = null;
        str.equals("111");
        return true;
    }

    @DeleteMapping("/user")
    public boolean delete(@RequestBody UserInfo user) {
        System.out.println("开始删除...");
        //这里故意造成一个异常，并且不进行处理
        Integer.parseInt("abc123");
        return true;
    }

    @GetMapping("/user")
    public List<UserInfo> findByUser(UserInfo user) {
        System.out.println("开始查询...");
        List<UserInfo> userList = new ArrayList<>();
        UserInfo user2 = new UserInfo();
        user2.setId(1);
        user2.setName("xuwujing");
        user2.setAge(18);
        userList.add(user2);
        return userList;
    }

}